聊聊flink的Session Window | 您所在的位置:网站首页 › flink sessionwindow › 聊聊flink的Session Window |
序 本文主要研究一下flink的Session Window MergingWindowAssignerflink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/windowing/assigners/MergingWindowAssigner.java @PublicEvolving public abstract class MergingWindowAssigner extends WindowAssigner { private static final long serialVersionUID = 1L; /** * Determines which windows (if any) should be merged. * * @param windows The window candidates. * @param callback A callback that can be invoked to signal which windows should be merged. */ public abstract void mergeWindows(Collection windows, MergeCallback callback); /** * Callback to be used in {@link #mergeWindows(Collection, MergeCallback)} for specifying which * windows should be merged. */ public interface MergeCallback { /** * Specifies that the given windows should be merged into the result window. * * @param toBeMerged The list of windows that should be merged into one window. * @param mergeResult The resulting merged window. */ void merge(Collection toBeMerged, W mergeResult); } }MergingWindowAssigner继承了WindowAssigner,它自己定义了mergeWindows抽象方法,该方法有一个MergeCallback类型参数,MergeCallback接口定义了merge方法,传入merge前的windows及合并后的windowEventTimeSessionWindowsflink-streaming-java_2.11-1.7.0-sources.jar!/org/apache/flink/streaming/api/windowing/assigners/EventTimeSessionWindows.java public class EventTimeSessionWindows extends MergingWindowAssigner { private static final long serialVersionUID = 1L; protected long sessionTimeout; protected EventTimeSessionWindows(long sessionTimeout) { if (sessionTimeout |
CopyRight 2018-2019 实验室设备网 版权所有 |